//...
#include <vector>
#include <set>
#include <algorithm>
#include <string>
#include <cmath>
#include <queue>
#include <map>
#include <iostream>
#include <list>
#include <deque>
#include <cstdio>
#include <cstdlib>
using namespace std;

typedef long long ll;
typedef long double ld;
typedef vector<int> vi;
typedef vector<bool> vb;
typedef pair<int,int> ii;
typedef vector<ii> vii;
typedef set<int> si;

#define REP(i, a, b) for (int i = int(a); i <= int(b); i++)
#define REPN(i, n) REP (i, 1, int(n))
#define REPD(i, a, b) for (int i = int(a); >= int(b); i--)
#define TR(c, it) for (vii::iterator it = (c).begin(); it != (c).end(); it++)
#define TR(c, it) for (typeof((c).begin()) it = (c).begin(); it != (c).end(); it++) // only for UNIX
#define PB push_back
#define MP make_pair
#define SIZE(c) (int((c).size()))
#define SHOW(x) cerr << #x << " = " << x << endl;

//isalpha (ctype.h)
inline bool isletter(char c) { return (c>='A'&&c<='Z')||(c>='a'&&c<='z'); }
//abs (math.h)
inline int abs(int a) { return a >= 0 ? a : -a; }
//pow (math.h)
int power(int a, int b) { int res=1; for (; b>=1; b--) res*=a; return res; }
//Use STL data structures: vector, stack, queue, priority_queue, map, set, etc
//Use STL algorithms: sort, lower_bound, max, min, max_element, min_element, etc

int main (){
	//freopen("in.txt", "r", stdin);//freopen("out.txt", "w", stdout);
	
	return 0;
}
